Complete WordPress Installation Guide for Windows
Overview
This comprehensive guide covers the complete installation and configuration of WordPress on Windows using a modern, professional stack: PHP 8.x, MariaDB, and Caddy web server. This setup provides excellent performance, security, and maintainability for both development and production environments.
What You'll Build
- WordPress CMS: Latest version with professional configuration
- PHP 8.x: Modern PHP runtime with optimized settings
- MariaDB: High-performance MySQL-compatible database
- Caddy Web Server: Automatic HTTPS and reverse proxy
- NSSM Service Manager: Professional Windows service management
Architecture Overview
Internet → Caddy (Port 80/443) → PHP-FPM (Port 9000) → WordPress → MariaDB (Port 3306)
Key Benefits
- Professional Setup: Enterprise-ready configuration
- Automatic HTTPS: SSL certificates managed by Caddy
- High Performance: Optimized PHP and database settings
- Security Hardened: Best practices throughout
- Service Management: Automatic startup and monitoring
- Scalable: Ready for production workloads
Prerequisites
Before beginning the installation, ensure your system meets all requirements:
System Requirements
Minimum Requirements
- Operating System: Windows 10 64-bit (version 1903) or Windows 11
- RAM: 4GB system memory (8GB+ recommended)
- Storage: 10GB available disk space (SSD recommended)
- Processor: 64-bit processor (2+ cores recommended)
CLI Download Requirements
- Windows 10 version 1803+ or Windows 11 for built-in
curl
andtar
commands - For older Windows versions: Use the manual download alternatives provided in each section
Recommended Requirements
- Operating System: Windows 11 or Windows 10 Pro (latest version)
- RAM: 16GB+ system memory
- Storage: SSD with 50GB+ available space
- Processor: Multi-core 64-bit processor (4+ cores)
- Network: Stable internet connection
Software Prerequisites
- Administrator Access: Required for service installation
- PowerShell 5.1+: For automation scripts
- Visual C++ Redistributable: For PHP and MariaDB
- Domain Name: For production deployment (optional for development)
Network Requirements
- Ports 80 and 443: Available for web traffic
- Port 3306: Available for database (can be changed)
- Port 9000: Available for PHP-FPM
- Firewall: Configured to allow necessary traffic
Wordpress Install on Windows
How to Install Wordpress + Caddy Natively on Windows
Downloads
MAKE SURE YOU DOWNLOAD THE RC (RELIABLE CHANNEL) MSI RUN THE GUI MSI Installer MariaDB
Setup Instructions
- Setting Up PHP 7.X
- MariaDB Setup
- Setting up Caddy
Setting Up PHP 7.X:
-
Create a Directory in your C:\ for Tools IE. C:\Tools
-
Create two subdirectories in Tools 2.1 NSSM 2.2 php
-
Extract php-7.xx insides to another directory
-
Extract NSSM.exe from
\nssm-2.24\win64
to
C:\Tools\NSSM
ie. C:\Tools\php
Add it to the enviroment variable paths
- Search Advanced System Settings
- Select Enviroment Variables
- Select System Variables Path by double clicking
- Add a New Path and type
C:\Tools\php
- Add another new path this time for NSSM
C:\Tools\NSSM
- Select OK
- Select OK again
- Then Select OK to cloe the systemp properties box
- Close all Powershells and Terminal Windows So these settings Save
Uncomment These Settings IE. Removing # from before each line You can Search in Your Text Editor by Clicking CTRL+ F
*PHP.ini Settings*
Navigate to the “increase memory_limit” line in the file and change the value from 128M to 512MB.
The next step is to uncomment the following lines by removing ‘;’ before the lines. For example the “;extionsion_dir=ext” should become “extionsion_dir = ext”.
Similarly uncomment the following lines by removing ‘;’ from the beginning of the line.
extension=bz2
extension=curl
extension=ffi
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=mbstring
extension=exif
extension=mysqli
extension=odbc
extension=openssl
extension=pdo_mysql
extension=pdo_odbc
extension=pdo_sqlite
Setting up PHP-CGI:
-
Open up an Administrative Powershell.
-
type inside that powershell
NSSM install PHP
-
Add to Path
C:\Tools\php\php-cgi.exe
-
Add to Startup Dirctory
C:\Tools\php
-
Add to Argument
-b 127.0.0.1:9000
-
-
Click Save
-
Start the Service
nssm Start php
MariaDB Setup:
RUN THE GUI MSI Installer
1.TUTORIAL (FOLLOW STEPS 1-4)
- TYPE MARIADB INSIDE YOUR SEARCH BAR
- TYPE THE PASSWORD YOU CREATED in your installation 4.THEN Edit To Your liking
CREATE DATABASE wordpress;
use wordpress;
CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass12345678?';
GRANT ALL ON *.* TO 'user'@'localhost';
flush privileges;
- If you cant remember your password for your MYSQL User Use this command*
DROP USER 'devilsdesigns'@'localhost';
Then re-enter this below
use wordpress;
CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass12345678?';
GRANT ALL ON *.* TO 'user'@'localhost';
flush privileges;
Setting up Caddy:
Caddyfile Download
Running Caddy inside the Caddy.exe Directory
cd C:\Caddy\Directory
ie. cd C:\Tools\Caddy
- Running Caddy Manually
./caddy run --config Caddy
- Accept both permissions if a windows Pops up